package com.christina.engine.response.decorator;

import com.christina.engine.response.model.ResponseContext;
import com.christina.engine.response.model.ResponseResult;

/**
 * 响应生成器接口
 * 定义响应生成的基本契约
 * 
 * @author Christina
 */
public interface ResponseGenerator {
    
    /**
     * 生成响应
     * 
     * @param context 响应上下文
     * @return 响应结果
     */
    ResponseResult generateResponse(ResponseContext context);
    
    /**
     * 获取生成器名称
     * 
     * @return 生成器名称
     */
    String getName();
    
    /**
     * 检查是否支持指定的响应类型
     * 
     * @param responseType 响应类型
     * @return 是否支持
     */
    boolean supports(String responseType);
}